<?php
/**
 * Description of notification
 *
 * Ho pensato di fare la tabella in ram, ma il guadagno in velocità è solo negli insert e update.
 * Nei select c'é un guadagno nullo. Siccome le notification sono quasi tutti select è inutile.
 *
 * @author Flame
 */
class notifications{

    private $nots;
    public $new;

    function __construct()
    {
        global $db,$user;

        $this->nots = array();

        $sql = "SELECT id,id_da,username,sesso,avatar,online,id_oggetto,oggetto,tempo FROM view_notifications WHERE id_a = ".$user->id." AND letto = 0 ORDER BY tempo DESC";
        $result = $db->query($sql);
        while($row = mysql_fetch_assoc($result))
        {
            $p = new person($row['id_da'],$row['username'],$row['sesso'],$row['avatar'],$row['online']);
            $this->nots[$row['id']] = new notification($row['id'],$p,$row['id_oggetto'],$row['tempo']);
        }

        $this->new = count($this->nots);
    }

    function get() { return $this->nots; }

    function read($id = false)
    {
        global $db,$user;
        if($id)
        {
            unset($this->nots[$id]);
            $this->new--;
        }
        else
        {
            $sql = "UPDATE notifications SET letto = 1 WHERE id_a = ".$user->id."";
            $db->query($sql);
            unset($this->nots);
            $this->new = 0;
        }
    }

}
?>
